# Fetching a list of Project Templates

This endpoint returns structured Project Template objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `project_templates` top-level JSON key.
Please see our [Response Format](#section/Response-Format) section for more information.

Endpoint: GET /project_templates
Version: 1.0.0

## Query parameters:

  - `by_title` (string)
    Only includes project templates where the title matches the specified search.

  - `include` (string)
    Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `project_template_additional_tabs` (ProjectTemplateAdditionalTab) - Retrieves the additional tabs added to the template. The response will include `project_template_additional_tab_ids`, which references the data in the `project_template_additional_tabs` top-level key.
- `project_template_assignments` (ProjectTemplateAssignment) - Project template assignments associated with the project template.
- `user` (User) - The user who created the project template (referenced by user_id).

  - `matching` (string)
    Alias of by_title.

  - `mine` (boolean)
    Only includes project templates created by the requesting user.

  - `only` (string)
    Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like `GET /api/v1/workspaces.json?only=5,6,7`.

  - `optional_fields` (array)
    Allows you to request one or more optional fields as an array.

  - `order` (string)
    Supply `order` with the name of a valid sort field for the endpoint and a direction.

Valid values: `budget:asc`, `budget:desc`, `description:asc`, `description:desc`, `duration:asc`, `duration:desc`, `full_name:asc`, `full_name:desc`, `is_budgeted:asc`, `is_budgeted:desc`, `title:asc`, `title:desc`, `updated_at:asc`, and `updated_at:desc`.

  - `page` (integer)

  - `per_page` (integer)

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

